﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QLThuVien
{
    public partial class frQLNV : Form
    {
        public frQLNV()
        {
            InitializeComponent();
        }
        public void clear_tb()
        {
            TBDiaChi.Text = "";
            TBHoten.Text = "";
            TBMaNV.Text = "";
            TBMK.Text = "";
            CBQH.Text = "";
            TBTenDN.Text = "";
        }

        public void enable_tbfalse()
        {
            TBTenDN.Enabled = false;
            TBMK.Enabled = false;
            TBMaNV.Enabled = false;
            TBHoten.Enabled = false;
            TBDiaChi.Enabled = false;
            CBQH.Enabled = false;
        }

        public void enable_tbtrue()
        {
            TBTenDN.Enabled = true;
            TBMK.Enabled = true;
            TBHoten.Enabled = true;
            TBDiaChi.Enabled = true;
            CBQH.Enabled = true;
        }
        string manv;
        public void laymanv()
        {
            manv = "";
            Truyxuatdulieu txdl = new Truyxuatdulieu();
            SqlCommand sc = new SqlCommand("SELECT MANHANVIEN from NHANVIEN");
            SqlDataReader dr = txdl.lay_reader(sc.CommandText);
            while (dr.Read())
                manv = dr[0].ToString();
            KetNoi.closeconnect();
            if (manv == "") { manv = "NV0001"; }
            else
            {
                string s = manv.Substring(2, manv.Length - 2);
                double i = double.Parse(s);
                i++;
                if (i < 10)
                {
                    s = "NV000" + i.ToString();
                }
                else if (i < 100)
                {
                    s = "NV00" + i.ToString();
                }
                else if (i < 1000)
                {
                    s = "NV0" + i.ToString();
                }
                else if (i < 10000)
                {
                    s = "NV" + i.ToString();
                }
                manv = s;
            }
            TBMaNV.Text = manv;
        }

        private void frQLNV_Load(object sender, EventArgs e)
        {
            enable_tbfalse();
            load_listview();
        }
        public void load_listview()
        {
            listView1.Clear();
            Truyxuatdulieu txdl = new Truyxuatdulieu();
            DataSet ds = new DataSet();
            ds = txdl.getdata("SELECT * FROM NHANVIEN");
            DataColumn[] dt = new DataColumn[1];
            dt[0] = ds.Tables[0].Columns[0];
            ds.Tables[0].PrimaryKey = dt;
            listView1.Columns.Add("Mã Nhân Viên", 120, HorizontalAlignment.Left);
            listView1.Columns.Add("Họ Tên", 160, HorizontalAlignment.Left);
            listView1.Columns.Add("Địa Chỉ", 160, HorizontalAlignment.Left);
            listView1.Columns.Add("Tên Đăng Nhập", 160, HorizontalAlignment.Left);
            listView1.Columns.Add("Quyền Hạn", 140, HorizontalAlignment.Left);
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                listView1.Items.Add(ds.Tables[0].Rows[i]["MANHANVIEN"].ToString(), 1);
                listView1.Items[i].SubItems.Add(ds.Tables[0].Rows[i]["HOTEN"].ToString());
                listView1.Items[i].SubItems.Add(ds.Tables[0].Rows[i]["DIACHI"].ToString());
                listView1.Items[i].SubItems.Add(ds.Tables[0].Rows[i]["TENDANGNHAP"].ToString());
                listView1.Items[i].SubItems.Add(ds.Tables[0].Rows[i]["QuyenHan"].ToString());
                
            }
        }

        private void bttaomoi_Click(object sender, EventArgs e)
        {
            if (bttaomoi.Text == "Tạo Mới Nhân Viên")
            {
                enable_tbtrue();
                bttaomoi.Text = "Chấp Nhận";
                laymanv();
            }
            else
            {
                NhanVien nv = new NhanVien();
                nv.set_MaNV(TBMaNV.Text);
                nv.set_hotenNV(TBHoten.Text);
                nv.set_diachi(TBDiaChi.Text);
                nv.set_MatKhau(TBMK.Text);
                nv.set_QuyenHan(CBQH.Text);
                nv.set_tenDN(TBTenDN.Text);
                
                if (nv.taomoi())
                {
                    MessageBox.Show("Quá trình tạo mới đã thành công");
                    load_listview();
                    enable_tbfalse();
                    clear_tb();
                }
                else
                    MessageBox.Show("Quá trình tạo mới bị lỗi bạn hãy thử lại");
                bttaomoi.Text = "Tạo Mới Nhân Viên";
            }
        }

        private void btxoa_Click(object sender, EventArgs e)
        {
            if (btxoa.Text == "Xóa")
            {
                MessageBox.Show("Nhập mã nhân viên cần xóa", "Thông Báo");
                btxoa.Text = "xác Nhận";
                TBMaNV.Enabled = true;
            }
            else if (btxoa.Text == "Chấp Nhận")
            {
                
                {
                    NhanVien nv = new NhanVien();
                    nv.set_MaNV(TBMaNV.Text);
                    if (nv.xoabo())
                    {
                        MessageBox.Show("Đã xóa thành công nhân viên này", "Thông Báo");
                        load_listview();
                    }
                    else MessageBox.Show("không xóa được", "hHông Báo");
                    btxoa.Text = "Xóa";
                    clear_tb();
                    TBMaNV.Enabled = false;
                }
            }
            else
            {
                if (TBMaNV.Text == "")
                    MessageBox.Show("Nhập thông mã nhân viên cần xóa", "Thông Báo");
                else
                {
                    MessageBox.Show("Xác Nhận Thông Tin", "Thông Báo");
                    KetNoi.setconnect();
                    SqlCommand sc = new SqlCommand();
                    sc.CommandText = "SELECT *FROM NHANVIEN WHERE MANHANVIEN='" + TBMaNV.Text + "'";
                    Truyxuatdulieu txdl = new Truyxuatdulieu();
                    SqlDataReader dr = txdl.lay_reader(sc.CommandText);
                    while (dr.Read())
                    {
                        TBTenDN.Text = Convert.ToString(dr["TENDANGNHAP"]);
                        TBHoten.Text = Convert.ToString(dr["HOTEN"]);
                        TBDiaChi.Text = Convert.ToString(dr["DIACHI"]);
                        CBQH.Text = Convert.ToString(dr["QuyenHan"]);
                    }
                    btxoa.Text = "Chấp Nhận";
                }
            }
        }

        private void Huy_Click(object sender, EventArgs e)
        {
            TBMaNV.Text = "";
            TBHoten.Text = "";
            TBDiaChi.Text = "";
            TBTenDN.Text = "";
            TBMK.Text = "";
            CBQH.Text = "";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Hide();
        }




    }
}
